package com.tul.vapp.servicecenter.service;

/**
 * 通过此类保证DB数据和ZK数据一致性
 * 
 * @author vv
 * @since 2017/12/30.
 */
public interface IManager {

	/**
	 * 应用启动时同步数据到ZK
	 */
	void sync();

	/**
	 * 将数据库中未发布的数据发布到ZK上
	 */
	void publish();

	/**
	 * 发布指定命名空间的数据
	 * @param appId appId
	 * @param namespace namespace
     */
	void publish(String appId, String namespace);

	/**
	 * 回滚数据库中未发布的数据
	 */
	void rollback();

	/**
	 * 发布表和操作表合法性校验
     */
	void sanityCheck();
}
